<html>
<head><meta charset="utf-8"><title>the rustc-dev-guide is confusing · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html">the rustc-dev-guide is confusing</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="221139658"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221139658" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221139658">(Dec 29 2020 at 14:56)</a>:</h4>
<p><span class="user-mention silent" data-user-id="203546">Laurențiu Nicola</span> <a href="#narrow/stream/131828-t-compiler/topic/mentoring/near/221139246">said</a>:</p>
<blockquote>
<p>As a one-off contributor, I didn't drop off because the process was too hard, but the tooling felt rather unnecessarily unfriendly. I wish <code>std</code> and the compiler were better separated and that <code>x.py</code> wasn't needed. To test a small change to <code>libstd</code> on Windows you need to go get Python first, probably wait some 40 minutes for LLVM to build, wait for the compiler (which always seemed to build one stage too many). That's quite a lot of stuff to ask for.</p>
</blockquote>
<p>fyi if you use <code>x.py test --stage 0 library/std</code> you can get rid of all those steps except getting python</p>



<a name="221139688"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221139688" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221139688">(Dec 29 2020 at 14:57)</a>:</h4>
<p>I've been trying to help with that; if you run <code>x.py setup library</code> you wouldn't even need <code>--stage 0</code></p>



<a name="221139916"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221139916" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Laurențiu <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221139916">(Dec 29 2020 at 15:00)</a>:</h4>
<p>I'm sure it's getting better, but that's still a lot of friction over <code>git clone https://github.com/rust-lang/std; cd std; cargo test</code>. I went to <a href="https://github.com/rust-lang/rust/">https://github.com/rust-lang/rust/</a> right now, looked for the <code>x.py</code> cheatsheet that might have been there once, missed the two references to the rustc dev guide, clicked on <a href="https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md">https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md</a>, then through <a href="https://rustc-dev-guide.rust-lang.org/contributing.html#contributing-to-rust">https://rustc-dev-guide.rust-lang.org/contributing.html#contributing-to-rust</a>, then was greeted by a broken link in the list at the top (<a href="https://rustc-dev-guide.rust-lang.org/contributing.html#the-build-system">https://rustc-dev-guide.rust-lang.org/contributing.html#the-build-system</a>). I then backtracked to <a href="https://rustc-dev-guide.rust-lang.org/getting-started.html">https://rustc-dev-guide.rust-lang.org/getting-started.html</a>, then <a href="https://rustc-dev-guide.rust-lang.org/building/suggested.html">https://rustc-dev-guide.rust-lang.org/building/suggested.html</a> and back to <a href="https://rustc-dev-guide.rust-lang.org/getting-started.html#xpy-intro">https://rustc-dev-guide.rust-lang.org/getting-started.html#xpy-intro</a></p>



<a name="221140078"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221140078" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Laurențiu <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221140078">(Dec 29 2020 at 15:03)</a>:</h4>
<p>And there is indeed an example of <code>./x.py test --stage 0 library/std</code>, but you still have to scroll down a bit until <a href="https://rustc-dev-guide.rust-lang.org/getting-started.html#building-and-testing-stdcorealloctestproc_macroetc">https://rustc-dev-guide.rust-lang.org/getting-started.html#building-and-testing-stdcorealloctestproc_macroetc</a></p>



<a name="221140115"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221140115" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Laurențiu <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221140115">(Dec 29 2020 at 15:03)</a>:</h4>
<p>I'm sure this can (and will) all be improved, but it's far from <code>git clone &amp;&amp; cargo test</code></p>



<a name="221140232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221140232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Laurențiu <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221140232">(Dec 29 2020 at 15:05)</a>:</h4>
<p>But I guess you already know that: <a href="https://github.com/rust-lang/rustc-dev-guide/issues/873">https://github.com/rust-lang/rustc-dev-guide/issues/873</a></p>



<a name="221140380"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221140380" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Laurențiu <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221140380">(Dec 29 2020 at 15:07)</a>:</h4>
<p>(filed <a href="https://github.com/rust-lang/rustc-dev-guide/issues/995">https://github.com/rust-lang/rustc-dev-guide/issues/995</a> for the broken link, I'm not sure what it should be pointing to)</p>



<a name="221141045"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221141045" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221141045">(Dec 29 2020 at 15:17)</a>:</h4>
<p>hmm, the section I wish you'd found is <a href="https://rustc-dev-guide.rust-lang.org/getting-started.html#building-and-testing-rustc">https://rustc-dev-guide.rust-lang.org/getting-started.html#building-and-testing-rustc</a></p>



<a name="221141098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221141098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221141098">(Dec 29 2020 at 15:18)</a>:</h4>
<p>maybe we should just remove the link to 'suggested workflows'? I'd consider those a little more advanced, you'd only need them for repeat contributions IMO</p>



<a name="221141120"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221141120" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221141120">(Dec 29 2020 at 15:18)</a>:</h4>
<blockquote>
<p>Quick check to see if things compile; rust-analyzer can run this automatically for you</p>
</blockquote>
<p>wow quick is just <em>such</em> a lie <span aria-label="laughing" class="emoji emoji-1f606" role="img" title="laughing">:laughing:</span></p>



<a name="221141167"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221141167" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Laurențiu <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221141167">(Dec 29 2020 at 15:19)</a>:</h4>
<blockquote>
<p><code>"./build/TARGET_TRIPLE/stage0/bin/rustfmt"</code></p>
</blockquote>
<p>Is there no <code>x.py fmt</code> that know about stages and target tuples?</p>



<a name="221141223"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221141223" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221141223">(Dec 29 2020 at 15:20)</a>:</h4>
<p>there is, the docs are probably just out of date</p>



<a name="221141247"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221141247" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221141247">(Dec 29 2020 at 15:20)</a>:</h4>
<p>oh wait it's in the very same sentence:</p>
<blockquote>
<p>The pinned version is built under build/&lt;target&gt;/stage0/bin/rustfmt, so if you want, you can use it for a single file or for format-on-save in your editor, which can be faster than ./x.py fmt.</p>
</blockquote>



<a name="221141292"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221141292" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Laurențiu <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221141292">(Dec 29 2020 at 15:21)</a>:</h4>
<p>Which same sentence is that? I'm looking at <a href="https://rustc-dev-guide.rust-lang.org/building/suggested.html#configuring-rust-analyzer-for-rustc">https://rustc-dev-guide.rust-lang.org/building/suggested.html#configuring-rust-analyzer-for-rustc</a></p>



<a name="221141303"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221141303" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221141303">(Dec 29 2020 at 15:21)</a>:</h4>
<p>I think the main issue we run into is that people <em>really</em> want to have one code snippet they can copy paste, and we don't have one to give them</p>



<a name="221141313"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221141313" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Laurențiu <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221141313">(Dec 29 2020 at 15:21)</a>:</h4>
<p>Oof, I've made a mess out of this Zulip thread</p>



<a name="221141322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221141322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221141322">(Dec 29 2020 at 15:22)</a>:</h4>
<p>it depends what you want to do with the compiler</p>



<a name="221141370"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/the%20rustc-dev-guide%20is%20confusing/near/221141370" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/the.20rustc-dev-guide.20is.20confusing.html#221141370">(Dec 29 2020 at 15:22)</a>:</h4>
<p>yeah let's split this thread</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>